#ifndef DATA_H
#define DATA_H

#include "color.h"

class Data {
    public:
        Data();
        Data(const Data&);
        Data(unsigned char *, int, int);
        Data(int, int);
        ~Data();

		void setData(unsigned char *);
		void setData(int, unsigned char);
		unsigned char *getData() const;
		unsigned char getData(int) const;
		const Color getData(int, int);
		void setData(int, int, const Color &);

		void setSize(int, int);
		int getWidth() const;
		int getHeight() const;

		void setAll(unsigned char *, int, int);

    private:
        unsigned char *data;
        int width, height;
};

int *subtractInt(Data, Data);
Data *add(Data, int *);
Data *operator+(Data, Data);
Data *operator-(Data, Data);
Data *operator*(Data, Data);
Data *operator/(Data, Data);

#endif
